package de.dhbw.karlsruhe.picsim.model.memory;

import de.dhbw.karlsruhe.picsim.model.cpu.File;

/**
 * Created by IntelliJ IDEA.
 * User: goesen
 * Date: Apr 22, 2010
 * Time: 12:12:51 PM
 */

/**
 * erzeugt neue Files, in die geschrieben oder gelesen werden kann.
 * wird initial vom FileMemory benutzt um den Adressraum zu füllen
 */
public interface FileFactory {
    /**
     * Erzeugt ein File aus dem gelesen und gechrieben werden kann. Diese Files werden als general purpose Register
     * benutzt, sowie auch für die meißten Special Function Registers
     *
     * @return ein File zum lesen und schreiben
     */
    File createNewFile();

    /**
     * zb. Files ab 30h sind nicht implementiert: dh lese als 0 und schreiben ist nicht erfolgreich
     *
     * @return ein nicht implementiertes File
     */
    File createUnimplementedFile();

    File getTrisBFile();

    File getTrisAFile();

    File getPortBFile();

    File getPortAFile();
}
